import {defineStore} from 'pinia';
import {ref} from 'vue';


const useCart = defineStore('cart',() => {
    const cart = ref([])
    const addToCart = goods => {
        const item = cart.value.find(item => goods.id == item.id)
        if(item) {
            item.num += goods.num
        } else {
            cart.value.push(goods)
        }
    }
    const removeCart = id => {
        cart.value.forEach((item,index) => {
            if(item.id == id) {
                cart.value.splice(index,1)
            }
        })
    }
        const cartCount = () => {
            let sum = 0
            cart.value.forEach(item => {
                sum += item.num
            })
            return sum || undefined
        }
    return {cart, addToCart,removeCart,cartCount }
}, {
    persist: {
        enabled:true,
        strategies:[
            {
                key:'cart',
                storage:localStorage
            }
        ]
    }
})
export default useCart